package com.mzj.saas.mservice.propertybill.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.mzj.saas.commons.DateUtils;
import com.mzj.saas.mservice.bill.vo.BillSearchRequestVO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.persistence.Column;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

@ApiModel("违约金Vo")
@Data
public class PenalSumVO extends BillSearchRequestVO {

    /*
     *账单id
     */
    @ApiModelProperty("账单id")
    private Long billId;
    /*
     *违约金账单id
     */
    @ApiModelProperty("违约金账单id")
    private Long violateId;
    /*
     *承租人id
     */
    @ApiModelProperty("承租人id")
    private String matchUserId;
    /*
     *手机号
     */
    @ApiModelProperty("手机号")
    private String phone;
    /*
     *计量单位
     */
    @ApiModelProperty("计量单位")
    private String measureUnit;
    /*
     *原账单金额
     */
    @ApiModelProperty("原账单金额")
    private String billCost;
    /*
     *原账单剩余未缴金额
     */
    @ApiModelProperty("原账单剩余未缴金额")
    private String billSurplusCost;
    /*
     *违约金金额
     */
    @ApiModelProperty("违约金金额")
    private String penalSumCost;
    /*
     *违约金日增长金额
     */
    @ApiModelProperty("违约金日增长金额")
    private String growthCost;

    /*
     *开始时间
     */
    @JsonFormat(pattern= DateUtils.FORMAT_DATETIME_14,timezone = "GMT+8")
    @ApiModelProperty("账单开始时间")
    private Date startTime;
    /*
     *账单结束时间
     */
    @JsonFormat(pattern=DateUtils.FORMAT_DATETIME_14,timezone = "GMT+8")
    @ApiModelProperty("账单结束时间")
    private Date endTime;
    /*
     *缴费截止日期
     */
    @JsonFormat(pattern=DateUtils.FORMAT_DATETIME_14,timezone = "GMT+8")
    @ApiModelProperty("缴费截止日期")
    private Date shouldPayTime;
    /*
     *缴费截止日期
     */
    @JsonFormat(pattern=DateUtils.FORMAT_DATETIME_14,timezone = "GMT+8")
    @ApiModelProperty("违约金生成时间")
    private Date penalSumTime;

    /*
     *缴费时间
     */
    @JsonFormat(pattern=DateUtils.FORMAT_DATETIME_14,timezone = "GMT+8")
    @ApiModelProperty("缴费时间")
    private Date paymentTime;
    /*
     * 缴费状态：0未缴费 1已缴费
     */
    @ApiModelProperty("缴费状态：0未缴费 1已缴费")
    private Integer paymentStatus;

    /*
     *操作人
     */
    @ApiModelProperty("操作人")
    private String operator_id;
    /*
     *操作时间
     */
    @JsonFormat(pattern=DateUtils.FORMAT_DATETIME_14,timezone = "GMT+8")
    @ApiModelProperty("操作时间")
    private Date operatorTime;
    /*
     *违约金状态 ： 0不生成 1生成
     */
    @ApiModelProperty("违约金生成状态 ： 0不生成 1生成")
    private Integer violateStatus;

    @ApiModelProperty("违约金账单状态 0正常 1减免  2已删除")
    private Integer violateBillStatus;
    /*
     *违约金比例
     */
    @ApiModelProperty("违约金比例")
    private String violateRatio;

    /**
     * 物业机构id
     */
    private String orgName;

    @ApiModelProperty("收费项目(1水费 2电费 3物业费 4宽带费 5电视费 6煤气费 7暖气费)")
    private String chargeTypeName;

    /*
     *备注
     */
    private String remark;

    /*
     *原金额
     */
    private String originalCost;

    /*
     *缴费凭证图片路径
     */
    private String paymentVoucherImg;

    /*
     *缴费方式集合
     */
    private List<Integer> operateStatusList;

    /*
     *支付时间集合
     */
    private List<Object> operationTimeList;


}
